package com.example.thm.adapter;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.example.thm.entitys.generated.Transaktion;
import com.example.thm.haushaltsbuch.MainActivity;
import com.example.thm.haushaltsbuch.R;

/**
 * @author Darius
 * @version 1.0
 */

public class SucheintragAlleAdapter extends BaseAdapter {

	private Context context;
	ArrayList<Transaktion> liste;
	private String euro="\u20ac";
	private String dollar ="\u0024";

	public SucheintragAlleAdapter(Context context, ArrayList<Transaktion> liste) {
		this.context = context;
		this.liste = liste;
	}

	public int getCount() {
		return liste.size();
	}

	public Object getItem(int arg0) {
		return liste.get(arg0);
	}

	public long getItemId(int position) {
		return position;
	}
	
	private String getWaehrung(){
		if(MainActivity.gManager.getBuchManager().getAktivesBuch().getWaehrung().getBezeichnung_kurz().equals("EUR"))
			return euro;
		else return dollar;
	}

	public View getView(int position, View convertView, ViewGroup parent) {
		View result = convertView;
		Object eintrag = liste.get(position);

		if (result == null) {
			LayoutInflater inflater = (LayoutInflater) context
					.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

			// if (eintrag instanceof Transaktion){
			Transaktion transaktion = (Transaktion) eintrag;
			DateFormat df = new SimpleDateFormat("yyyy-MM-DD");
			String strBetrag = String.valueOf(transaktion.getBetrag())+this.getWaehrung();
			StringBuilder strDatum = new StringBuilder(df.format(transaktion
					.getDatum()));
			if (transaktion.getVorzeichen() == '+') {
				result = inflater.inflate(
						R.layout.suchlisteneintrageinnahmelayout, null);
				TextView beschreibung = (TextView) result
						.findViewById(R.id.textView_beschreibungEinnahmeInSuchergebnis);
				TextView datum = (TextView) result
						.findViewById(R.id.textView_DatumEinnahmeInSuchergebnis);
				TextView betrag = (TextView) result
						.findViewById(R.id.textView_betragEinnahmeInSuchergebnis);
				beschreibung.setText(transaktion.getBezeichnung());
				datum.setText(strDatum);
				betrag.setText(strBetrag);
			}
			if (transaktion.getVorzeichen() == '-') {
				result = inflater.inflate(
						R.layout.suchlisteneintragausgabelayout, null);
				TextView beschreibung = (TextView) result
						.findViewById(R.id.textView_BeschreibungAusgabeInSuchergebnis);
				TextView datum = (TextView) result
						.findViewById(R.id.textView_DatumAusgabeInSuchergebnis);
				TextView betrag = (TextView) result
						.findViewById(R.id.textView_BetragAusgabeInSuchergebnis);
				beschreibung.setText(transaktion.getBezeichnung());
				datum.setText(strDatum);
				betrag.setText(strBetrag);
			}
			// }

			/*
			 * if (eintrag instanceof Buch){ result =
			 * inflater.inflate(R.layout.suchlisteneintragbuchlayout, null);
			 * TextView beschreibung = (TextView)result.findViewById(R.id.
			 * textView_beschreibungHaushaltsbuchInSuchergebnis); Buch buch=
			 * (Buch) eintrag; beschreibung.setText(buch.getBezeichnung()); }
			 */
		}
		return result;
	}

}